#pragma once

#include <glad/glad.h>


struct GLFWwindow;


class GlWindow {
public:
    GlWindow(const char *title, int w, int h);

    virtual ~GlWindow();

    bool shouldClose() const;

    void frameUpdate();

protected:
    virtual void render();

private:
    static void myGlfwSizeCb(GLFWwindow *window, int w, int h);

    void myGlfwInputProcess();

private:
    GLFWwindow *window_ = nullptr;
};
